
//287.寻找重复数
class Solution {
public:
    int findDuplicate(vector<int>& nums) {
        //用数组模拟链表
        //寻找重复数------>寻找入环位置
        int n=nums.size();
        int slow=0,fast=0;
        while(slow==0||slow!=fast)
        {
            slow=nums[slow];
            fast=nums[nums[fast]];
        }
        //此时是相交位置
        int prev=0;
        while(prev==0||prev!=slow)
        {
            prev=nums[prev];
            slow=nums[slow];
        }
        return prev;
    }
};